export interface PageParam {
    pageNum: number;
    pageSize: number;
}

export interface AjaxResult<T> {
    code: number;
    msg: string;
    data: T;
}

export interface TableDataInfo<T> {
    total: number;
    rows: T[];
    code: number;
    msg: string;
}

export interface AgvConfig {
    id?: number;
    host?: string;
    drivePort?: number;
    analysisPort?: number;
    cloudUrl?: string;
    cam1?: string;
    cam2?: string;
    cam3?: string;
    cam4?: string;
    username1?: string;
    username2?: string;
    username3?: string;
    username4?: string;
    password1?: string;
    password2?: string;
    password3?: string;
    password4?: string;
    deleteFlag?: boolean;
}

export interface AgvFlaw {
    id?: number;
    taskId?: number;
    round?: number;
    flawType?: string;
    flawName?: string;
    flawDesc?: string;
    flawDistance?: number;
    flawImage?: string;
    flawImageUrl?: string;
    flawRtsp?: string;
    shown?: boolean;
    confirmed?: boolean;
    uploaded?: boolean;
    createTime?: string; // Date
    remark?: string;
    flawLength?: number;
    flawArea?: number;
    level?: string;
    countNum?: number;
    deleteFlag?: boolean;
}

export interface AgvTask {
    id?: number | null;
    taskCode?: string;
    taskName?: string;
    startPos?: string;
    taskTrip?: string;
    creator?: string;
    executor?: string;
    execTime?: string; // Date
    endTime?: string; // Date
    createTime?: string; //Date
    taskStatus?: string;
    round?: number;
    uploaded?: boolean;
    remark?: string;
    cloudTaskId?: number;
    deleteFlag?: boolean;
} 